﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Icoders.MarketTracker.Reports.Lib.Domain.Dashboard;
using Icoders.MarketTracker.Reports.Lib.Domain.Transactions;

namespace Icoders.MarketTracker.Reports.Lib.Repository.Transactions
{
    public interface IDashboardReportService
    {
        List<SalePerSku> GetSalePerSkuDashBoard(int clientid);
        List<SalePerFSR> GetSalePerFsrDashBoard(int clientid);
        List<SalePerFSR> GetBottomSalePerFsrDashBoard(int clientid);
        List<CallageByPeriod> GetCallageDashBoard(int clientid);
        List<CallageTargetByPeriod> GetCallageByCityDashBoard(int clientid, int cityId);
        List<CallageEffectivenessByPeriod> GetCallageEffectivenessByCityDashBoard(int clientid, int cityId);
        List<SalePerSkuPerPeriod> GetSalePerSkuPerPeriodDashBoard(int clientid);
        List<SalePerSkuPerPeriod> GetSalePerBrandPerPeriodDashBoard(int clientid);
        List<OutletPerformancePerPeriod> GetOutletPerformancePeriodDashBoard(int clientid);
        List<SalesValuePerPeriod> GetSalesValuePerPeriodDashBoard(int clientid);
        List<SalesValuePerArea> GetSalesValuePerAreaDashBoard(int clientid);
        List<SalesValuePerArea> GetBottomSalesValuePerAreaDashBoard(int clientid);
        List<SalesValueAvgPerPeriod> GetSalesValueAvgPerPeriodDashBoard(int clientid);
        List<ProductAvalibilty> GetProductAvalibiltyDashBoard(int clientid);
        List<Penetration> GetPenetrationDashBoard(int clientid);


        List<SalePerSkuPerArea> GetSalePerSkuPerAreaDashBoard(int clientid);
        List<SalePerSku> GetSkuVolumeDashBoard(int clientid);
        List<SalePerSku> GetSkuVolumeByCityDashBoard(int clientid,int cityid);
        Dictionary<string, string> GetCityWithData(int clientid);
        List<TotalSalePerPeriod> GetDailySkuVolumeDashBoard(int clientid);
        List<SalePerSkuPerCity> GetSalePerSkuPerCityDashBoard(int clientid);
        
        
        

        
    }
}
